[INFO] cloning repository https://github.com/neogeny/tiexiu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/neogeny/tiexiu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneogeny%2Ftiexiu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneogeny%2Ftiexiu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8d721887cfb21888dfa5f3a06bf8e4e83b0d18ba
[INFO] testing neogeny/tiexiu against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneogeny%2Ftiexiu" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/neogeny/tiexiu
[INFO] finished tweaking git repo https://github.com/neogeny/tiexiu
[INFO] tweaked toml for git repo https://github.com/neogeny/tiexiu written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/neogeny/tiexiu on toolchain f9988fefd3add01f414f52b414308e7872622fee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/neogeny/tiexiu already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pyo3-macros v0.28.3
[INFO] [stderr]   Downloaded quick-xml v0.38.4
[INFO] [stderr]   Downloaded mintex v0.1.4
[INFO] [stderr]   Downloaded target-lexicon v0.13.5
[INFO] [stderr]   Downloaded console v0.16.3
[INFO] [stderr]   Downloaded pyo3-build-config v0.28.3
[INFO] [stderr]   Downloaded codspeed-criterion-compat v4.5.0
[INFO] [stderr]   Downloaded plist v1.8.0
[INFO] [stderr]   Downloaded pyo3-macros-backend v0.28.3
[INFO] [stderr]   Downloaded pyo3-ffi v0.28.3
[INFO] [stderr]   Downloaded python3-dll-a v0.2.14
[INFO] [stderr]   Downloaded codspeed-criterion-compat-walltime v4.5.0
[INFO] [stderr]   Downloaded fancy-regex v0.18.0
[INFO] [stderr]   Downloaded syntect v5.3.0
[INFO] [stderr]   Downloaded codspeed v4.5.0
[INFO] [stderr]   Downloaded pyo3 v0.28.3
[INFO] [stderr]   Downloaded statrs v0.18.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ae917e5b3cfb8eb29546470ad057a6c0ca4b468403523cade643eb6470e731f5
[INFO] running `Command { std: "docker" "start" "-a" "ae917e5b3cfb8eb29546470ad057a6c0ca4b468403523cade643eb6470e731f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ae917e5b3cfb8eb29546470ad057a6c0ca4b468403523cade643eb6470e731f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae917e5b3cfb8eb29546470ad057a6c0ca4b468403523cade643eb6470e731f5", kill_on_drop: false }`
[INFO] [stdout] ae917e5b3cfb8eb29546470ad057a6c0ca4b468403523cade643eb6470e731f5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ccd098e32219e7b760291c028e7fd3d2b44857804d929d181707cf6d1c1dd6f7
[INFO] running `Command { std: "docker" "start" "-a" "ccd098e32219e7b760291c028e7fd3d2b44857804d929d181707cf6d1c1dd6f7", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling quick-xml v0.38.4
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stderr]    Compiling json v0.12.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling plist v1.8.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling onig v6.5.1
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling fancy-regex v0.18.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling tiexiu v0.1.1-alpha.14 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 03s
[INFO] running `Command { std: "docker" "inspect" "ccd098e32219e7b760291c028e7fd3d2b44857804d929d181707cf6d1c1dd6f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ccd098e32219e7b760291c028e7fd3d2b44857804d929d181707cf6d1c1dd6f7", kill_on_drop: false }`
[INFO] [stdout] ccd098e32219e7b760291c028e7fd3d2b44857804d929d181707cf6d1c1dd6f7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 979cabb2f4ebc4d884706b2107449724e3c7262f953162394f9df23cd7d707f6
[INFO] running `Command { std: "docker" "start" "-a" "979cabb2f4ebc4d884706b2107449724e3c7262f953162394f9df23cd7d707f6", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling nix v0.31.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling codspeed v4.5.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling statrs v0.18.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling codspeed-criterion-compat v4.5.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling plist v1.8.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tiexiu v0.1.1-alpha.14 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling codspeed-criterion-compat-walltime v4.5.0
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 19s
[INFO] running `Command { std: "docker" "inspect" "979cabb2f4ebc4d884706b2107449724e3c7262f953162394f9df23cd7d707f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "979cabb2f4ebc4d884706b2107449724e3c7262f953162394f9df23cd7d707f6", kill_on_drop: false }`
[INFO] [stdout] 979cabb2f4ebc4d884706b2107449724e3c7262f953162394f9df23cd7d707f6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f671548da2339331cc0c2b4c95339991ed60a7dd6d2d39ed4184774a8309032d
[INFO] running `Command { std: "docker" "start" "-a" "f671548da2339331cc0c2b4c95339991ed60a7dd6d2d39ed4184774a8309032d", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tiexiu-921bc91b189499fe)
[INFO] [stdout] 
[INFO] [stdout] running 179 tests
[INFO] [stdout] test cfg::keys::tests::test_bool_mapping ... ok
[INFO] [stdout] test cfg::keys::tests::test_cfg_box_is_alias ... ok
[INFO] [stdout] test cfg::keys::tests::test_cfg_load_from_env ... ok
[INFO] [stdout] test context::memo::tests::key_equality ... ok
[INFO] [stdout] test context::memo::tests::memoize_and_retrieve ... ok
[INFO] [stdout] test context::memo::tests::memoize_multiple_rules ... ok
[INFO] [stdout] test context::memo::tests::new_cache_is_empty ... ok
[INFO] [stdout] test context::memo::tests::prune_keeps_after_cutpoint ... ok
[INFO] [stdout] test context::memo::tests::prune_removes_before_cutpoint ... ok
[INFO] [stdout] test context::strctx::tests::test_ctx_handle_size ... ok
[INFO] [stdout] test context::strctx::tests::test_ctx_size ... ok
[INFO] [stdout] test context::strctx::tests::test_cursor_size ... ok
[INFO] [stdout] test context::corectx::tests::new_context ... ok
[INFO] [stdout] test context::corectx::tests::get_pattern_caches ... ok
[INFO] [stdout] test input::strcursor::tests::default_patterns_are_valid ... ok
[INFO] [stdout] test context::strctx::tests::test_shared_memoization_semantics ... ok
[INFO] [stderr] ⚔  •
[INFO] [stderr] [0:0]→test
[INFO] [stdout] test context::corectx::tests::clone_resets_cutseen ... ok
[INFO] [stdout] test json::asjson::tests::test_tree_json_roundtrip ... ok
[INFO] [stdout] test context::strctx::tests::test_state_isolation_preserves_shared_cache ... ok
[INFO] [stderr] ⚔  •
[INFO] [stderr] [0:0]→test
[INFO] [stdout] test context::corectx::tests::enter_rule ... ok
[INFO] [stdout] test context::corectx::tests::cut_and_uncut ... ok
[INFO] [stderr] ⚔  •
[INFO] [stderr] [1:5]→late·1·+·2
[INFO] [stdout] test json::import::tests::test_grammar_from_json_value_calc ... ok
[INFO] [stdout] test context::strctx::tests::test_cow_behavior ... ok
[INFO] [stdout] test input::strcursor::tests::comment_pattern_cannot_match_empty - should panic ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::choice_not_nullable ... ok
[INFO] [stdout] test input::strcursor::tests::whitespace_pattern_cannot_match_empty - should panic ... ok
[INFO] [stdout] test input::strcursor::tests::eol_pattern_cannot_match_empty - should panic ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::closure_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::constant_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::cut_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::dot_not_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::eof_not_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::choice_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::join_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::lookahead_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::fail_not_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::nil_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::optional_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::pattern_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::pattern_not_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::negative_lookahead_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::positive_join_not_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::positive_closure_not_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::token_not_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::void_nullable ... ok
[INFO] [stdout] test peg::error::nope::tests::test_nope_size ... ok
[INFO] [stdout] test peg::error::nope::tests::test_yeap_size ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::sequence_not_nullable ... ok
[INFO] [stdout] test peg::analysis::nullability::tests::sequence_all_nullable ... ok
[INFO] [stdout] test peg::exp::tests::test_exp_size ... ok
[INFO] [stdout] test peg::grammar::tests::get_rule_not_found ... ok
[INFO] [stdout] test peg::grammar::tests::grammar_analyzed ... ok
[INFO] [stdout] test peg::grammar::tests::get_rule ... ok
[INFO] [stdout] test peg::grammar::tests::grammar_with_rules ... ok
[INFO] [stdout] test peg::grammar::tests::new_grammar ... ok
[INFO] [stdout] test peg::parsing::expressions::tests::choice_keeps_furthest_failure ... ignored
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:3]→
[INFO] [stdout] test peg::error::nope::tests::test_yeap_tree_returns_rc ... ok
[INFO] [stdout] test peg::parsing::expressions::tests::choice_clears_when_no_cut_enters ... ok
[INFO] [stderr] ⚔  •
[INFO] [stderr] [0:0]→abc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:3]→
[INFO] [stdout] test peg::parsing::expressions::tests::choice_restores_entered_cut_on_success ... ok
[INFO] [stderr] ⚔  •
[INFO] [stdout] test peg::parsing::expressions::tests::choice_returns_err_when_all_options_fail ... ok
[INFO] [stderr] [0:0]→abc
[INFO] [stderr] ≢ 'xyz'  •
[INFO] [stderr] [0:0]→abc
[INFO] [stderr] ≢ '123'  •
[INFO] [stderr] [0:0]→abc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:3]→
[INFO] [stdout] test peg::parsing::expressions::tests::optional_clears_when_no_cut_enters ... ok
[INFO] [stderr] ⚔  •
[INFO] [stderr] [0:0]→abc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:3]→
[INFO] [stdout] test peg::parsing::expressions::tests::optional_restores_entered_cut_on_success ... ok
[INFO] [stderr] ⚔  •
[INFO] [stderr] [0:0]→abc
[INFO] [stderr] ≢ 'xyz'  •
[INFO] [stderr] [0:0]→abc
[INFO] [stdout] test peg::parsing::expressions::tests::optional_restores_entered_cut_on_failure ... ok
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:3]→
[INFO] [stdout] test peg::parsing::repeat::tests::test_add_exp ... ok
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:3]→abcabc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:6]→abc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:9]→
[INFO] [stderr] ≢ 'abc'  •
[INFO] [stderr] [1:9]→
[INFO] [stdout] test peg::parsing::repeat::tests::test_repeat ... ok
[INFO] [stderr] ⚔  •
[INFO] [stderr] [0:0]→abcabcabc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:3]→abcabc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:6]→abc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:9]→
[INFO] [stderr] ≢ 'abc'  •
[INFO] [stderr] [1:9]→
[INFO] [stdout] test peg::parsing::repeat::tests::test_repeat_restores_entered_cut ... ok
[INFO] [stdout] test peg::parsing::repeat::tests::test_repeat_with_pre ... ok
[INFO] [stderr] ≡','  •
[INFO] [stderr] [1:1]→abc,abc
[INFO] [stderr] ⚔  •
[INFO] [stderr] [1:1]→abc,abc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:4]→,abc
[INFO] [stderr] ≡','  •
[INFO] [stderr] [1:5]→abc
[INFO] [stderr] ⚔  •
[INFO] [stderr] [1:5]→abc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:8]→
[INFO] [stderr] ≢ ','  •
[INFO] [stderr] [1:8]→
[INFO] [stderr] ≡','  •
[INFO] [stderr] [1:1]→abc,abc
[INFO] [stderr] ⚔  •
[INFO] [stderr] [1:1]→abc,abc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:4]→,abc
[INFO] [stderr] ≡','  •
[INFO] [stderr] [1:5]→abc
[INFO] [stderr] ⚔  •
[INFO] [stderr] [1:5]→abc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:8]→
[INFO] [stderr] ≢ ','  •
[INFO] [stderr] [1:8]→
[INFO] [stdout] test peg::parsing::repeat::tests::test_repeat_with_pre_no_cut_enters_clears ... ok
[INFO] [stderr] ≡','  •
[INFO] [stderr] [1:1]→abc,abc
[INFO] [stderr] ⚔  •
[INFO] [stderr] [1:1]→abc,abc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:4]→,abc
[INFO] [stderr] ≡','  •
[INFO] [stderr] [1:5]→abc
[INFO] [stderr] ⚔  •
[INFO] [stderr] [1:5]→abc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:8]→
[INFO] [stderr] ≢ ','  •
[INFO] [stderr] [1:8]→
[INFO] [stdout] test peg::parsing::repeat::tests::test_repeat_with_pre_no_keep ... ok
[INFO] [stderr] ⚔  •
[INFO] [stderr] [0:0]→,abc,abc
[INFO] [stderr] ≡','  •
[INFO] [stderr] [1:1]→abc,abc
[INFO] [stderr] ⚔  •
[INFO] [stderr] [1:1]→abc,abc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:4]→,abc
[INFO] [stderr] ≡','  •
[INFO] [stderr] [1:5]→abc
[INFO] [stderr] ⚔  •
[INFO] [stderr] [1:5]→abc
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:8]→
[INFO] [stderr] ≢ ','  •
[INFO] [stderr] [1:8]→
[INFO] [stdout] test tools::rails::tests::test_calc_json ... ok
[INFO] [stdout] test peg::parsing::repeat::tests::test_repeat_with_pre_restores_entered_cut ... ok
[INFO] [stdout] test tools::rails::tests::test_lay_out_empty ... ok
[INFO] [stdout] test tools::rails::tests::test_lay_out_single ... ok
[INFO] [stdout] test tools::rails::tests::test_lay_out_two_tracks ... ok
[INFO] [stdout] test tools::rails::tests::test_loop_empty ... ok
[INFO] [stdout] test tools::rails::tests::test_make_rail ... ok
[INFO] [stdout] test tools::rails::tests::test_loop_with_content ... ok
[INFO] [stdout] test tools::rails::tests::test_weld_different_heights ... ok
[INFO] [stdout] test tools::rails::tests::test_weld_empty_left ... ok
[INFO] [stderr] ≡'abc'  •
[INFO] [stderr] [1:3]→
[INFO] [stdout] test tools::rails::tests::test_weld_empty_right ... ok
[INFO] [stdout] test tools::rails::tests::test_weld_simple ... ok
[INFO] [stdout] test trees::build::tests::bottom_tree ... ok
[INFO] [stdout] test trees::build::tests::list_tree ... ok
[INFO] [stdout] test trees::build::tests::named_tree ... ok
[INFO] [stdout] test trees::build::tests::nil_tree ... ok
[INFO] [stdout] test trees::build::tests::text_tree ... ok
[INFO] [stdout] test trees::fmt::tests::test_key_value_display ... ok
[INFO] [stdout] test trees::fmt::tests::test_tree_display ... ok
[INFO] [stdout] test trees::fmt::tests::test_treemap_display ... ok
[INFO] [stdout] test trees::map::tests::insert_as_list_once ... ok
[INFO] [stdout] test trees::map::tests::insert_as_list_three_times ... ok
[INFO] [stderr] ≢ 'abc'  •
[INFO] [stderr] [0:0]→def
[INFO] [stdout] test trees::map::tests::insert_as_list_twice ... ok
[INFO] [stdout] test trees::map::tests::insert_as_list_with_list_once ... ok
[INFO] [stdout] test peg::parsing::repeat::tests::test_skip_exp ... ok
[INFO] [stdout] test trees::map::tests::insert_as_list_with_seq_once ... ok
[INFO] [stdout] test trees::map::tests::insert_as_list_with_list_twice ... ok
[INFO] [stdout] test trees::map::tests::insert_as_list_with_seq_twice ... ok
[INFO] [stdout] test trees::map::tests::insert_list_once ... ok
[INFO] [stdout] test trees::map::tests::insert_list_twice ... ok
[INFO] [stdout] test trees::map::tests::insert_mixed_with_insert_as_list ... ok
[INFO] [stdout] test trees::map::tests::insert_once ... ok
[INFO] [stdout] test trees::map::tests::insert_three_times ... ok
[INFO] [stdout] test trees::map::tests::insert_as_list_zero_times ... ok
[INFO] [stdout] test trees::map::tests::insert_twice ... ok
[INFO] [stdout] test trees::map::tests::update_as_list_with_empty ... ok
[INFO] [stdout] test trees::map::tests::update_as_list_with_values ... ok
[INFO] [stdout] test trees::map::tests::update_empty_with_values ... ok
[INFO] [stdout] test trees::map::tests::update_twice_different_keys ... ok
[INFO] [stdout] test trees::map::tests::update_twice_same_key ... ok
[INFO] [stdout] test trees::map::tests::update_with_empty ... ok
[INFO] [stdout] test trees::short::tests::bottom_tree ... ok
[INFO] [stdout] test trees::short::tests::list_tree ... ok
[INFO] [stdout] test trees::short::tests::named_tree ... ok
[INFO] [stdout] test trees::short::tests::nil_tree ... ok
[INFO] [stdout] test trees::short::tests::text_tree ... ok
[INFO] [stdout] test trees::map::tests::insert_zero_times ... ok
[INFO] [stdout] test trees::tree::tests::test_keyval_size ... ok
[INFO] [stdout] test trees::tree::tests::test_node_nil_purging_preserves_count ... ok
[INFO] [stdout] test trees::tree::tests::test_node_nil_removal ... ok
[INFO] [stdout] test trees::tree::tests::test_node_nil_removal_to_bottom ... ok
[INFO] [stdout] test trees::tree::tests::test_named_group_with_inner_names ... ok
[INFO] [stdout] test trees::tree::tests::test_node_nil_removal_to_list ... ok
[INFO] [stdout] test trees::tree::tests::test_tree_size ... ok
[INFO] [stdout] test util::cfg::tests::test_cfg_is_mapper ... ok
[INFO] [stdout] test util::cfg::tests::test_conversions ... ok
[INFO] [stdout] test util::cfg::tests::test_from_env ... ok
[INFO] [stdout] test util::cfg::tests::test_invariants ... ok
[INFO] [stdout] test util::cfg::tests::test_merge_logic ... ok
[INFO] [stdout] test util::indent::tests::test_fold_horizontal ... ok
[INFO] [stdout] test util::indent::tests::test_basic_indentation ... ok
[INFO] [stdout] test util::indent::tests::test_multiline_normalization ... ok
[INFO] [stdout] test util::indent::tests::test_nested_folds ... ok
[INFO] [stdout] test util::indent::tests::test_take_is_destructive ... ok
[INFO] [stdout] test util::newlines::dedent_tests::test_dedent_at_end_of_file ... ok
[INFO] [stdout] test util::newlines::dedent_tests::test_dedent_negative ... ok
[INFO] [stdout] test util::newlines::dedent_tests::test_dedent_on_empty_string ... ok
[INFO] [stdout] test util::newlines::dedent_tests::test_dedent_standard ... ok
[INFO] [stdout] test util::newlines::dedent_tests::test_dedent_with_windows_line_endings ... ok
[INFO] [stdout] test util::indent::tests::test_fold_vertical ... ok
[INFO] [stdout] test util::newlines::tests::test_blank_line_and_end ... ok
[INFO] [stdout] test util::newlines::tests::test_blank_line_fails_on_single ... ok
[INFO] [stdout] test util::newlines::tests::test_blank_line_requires_two ... ok
[INFO] [stdout] test util::newlines::tests::test_empty_input_is_blank ... ok
[INFO] [stdout] test util::newlines::dedent_tests::test_indent_len_with_tabs ... ok
[INFO] [stdout] test util::newlines::tests::test_empty_line_basic ... ok
[INFO] [stdout] test util::newlines::tests::test_empty_line_content_fails ... ok
[INFO] [stdout] test util::newlines::tests::test_non_blank_line ... ok
[INFO] [stdout] test util::newlines::tests::test_none_verifications ... ok
[INFO] [stdout] test util::newlines::tests::test_multiple_blank_lines ... ok
[INFO] [stdout] test util::newlines::tests::test_standard_blank_line ... ok
[INFO] [stdout] test util::newlines::tests::test_single_newline_is_blank_at_eot ... ok
[INFO] [stdout] test util::newlines::tests::test_trailing_empty_lines ... ok
[INFO] [stdout] test util::newlines::tests::test_whitespace_blank_line ... ok
[INFO] [stdout] test util::pyre::fancy::tests::match_group_name ... ok
[INFO] [stdout] test util::pyre::fancy::tests::match_expand ... ok
[INFO] [stdout] test util::pyre::fancy::tests::pattern_new_invalid ... ok
[INFO] [stdout] test util::pyre::fancy::tests::pattern_search_found ... ok
[INFO] [stdout] test util::pyre::fancy::tests::pattern_new_valid ... ok
[INFO] [stdout] test util::pyre::pattern::tests::test_regexpp_simple ... ok
[INFO] [stdout] test util::pyre::pattern::tests::test_regexpp_with_backslash ... ok
[INFO] [stdout] test util::strtools::tests::test_ismultiline ... ok
[INFO] [stdout] test util::strtools::tests::test_linecount_delta ... ok
[INFO] [stdout] test util::pyre::pattern::tests::test_regexpp_with_tab ... ok
[INFO] [stdout] test util::strtools::tests::test_safe_name_unicode ... ok
[INFO] [stdout] test util::strtools::tests::test_sloc_consistency ... ok
[INFO] [stdout] test util::strtools::tests::test_to_snake_case ... ok
[INFO] [stdout] test util::strtools::tests::test_unicode_display_len ... ok
[INFO] [stdout] test util::strtools::tests::test_visual_linecount ... ok
[INFO] [stdout] test util::tokenstack::tests::test_iteration ... ok
[INFO] [stdout] test util::tokenstack::tests::test_new_with_tail ... ok
[INFO] [stdout] test util::tokenstack::tests::test_push_behavior ... ok
[INFO] [stdout] test util::tokenstack::tests::test_tokelist_size ... ok
[INFO] [stdout] test util::strtools::tests::test_safe_name_valid ... ok
[INFO] [stdout] test json::boot::tests::test_grammar_bootstrap ... ok
[INFO] [stdout] test json::import::tests::test_grammar_from_json_value_tatsu ... ok
[INFO] [stdout] test json::boot::tests::has_required_rules ... ok
[INFO] [stdout] test json::export::tests::test_grammar_to_json_value ... ok
[INFO] [stdout] test peg::analysis::linker::tests::test_linker_debug ... ok
[INFO] [stderr] ↙ grammar← •
[INFO] [stderr] [2:8]→start·=·'a';
[INFO] [stderr] ↙ directive←grammar← •
[INFO] [stderr] [2:8]→start·=·'a';
[INFO] [stderr] ≢ '@@' directive←grammar← •
[INFO] [stderr] [2:8]→start·=·'a';
[INFO] [stderr] ≢ directive grammar→ •
[INFO] [stderr] [2:8]→start·=·'a';
[INFO] [stderr] ↙ keyword←grammar← •
[INFO] [stderr] [2:8]→start·=·'a';
[INFO] [stderr] ≢ '@@keyword' keyword←grammar← •
[INFO] [stderr] [2:8]→start·=·'a';
[INFO] [stderr] ≢ keyword grammar→ •
[INFO] [stderr] [2:8]→start·=·'a';
[INFO] [stderr] ↙ rule←grammar← •
[INFO] [stderr] [2:8]→start·=·'a';
[INFO] [stderr] ↙ decorator←rule←grammar← •
[INFO] [stderr] [2:8]→start·=·'a';
[INFO] [stderr] ≢ '@' decorator←rule←grammar← •
[INFO] [stderr] [2:8]→start·=·'a';
[INFO] [stderr] ≢ decorator rule→grammar→ •
[INFO] [stderr] [2:8]→start·=·'a';
[INFO] [stderr] ↙ name←rule←grammar← •
[INFO] [stderr] [2:8]→start·=·'a';
[INFO] [stderr] ↙ word←name←rule←grammar← •
[INFO] [stderr] [2:8]→start·=·'a';
[INFO] [stderr] ≡'start'/(?!\d)\w+/ word←name←rule←grammar← •
[INFO] [stderr] [2:13]→·=·'a';
[INFO] [stderr] ≡ name→rule→grammar→ •
[INFO] [stderr] [2:13]→·=·'a';
[INFO] [stderr] ≡ rule→grammar→ •
[INFO] [stderr] [2:13]→·=·'a';
[INFO] [stderr] ⚔ rule←grammar← •
[INFO] [stderr] [2:13]→·=·'a';
[INFO] [stderr] ≢ '[' rule←grammar← •
[INFO] [stderr] [2:14]→=·'a';
[INFO] [stderr] ≢ '(' rule←grammar← •
[INFO] [stderr] [2:14]→=·'a';
[INFO] [stderr] ≢ '::' rule←grammar← •
[INFO] [stderr] [2:14]→=·'a';
[INFO] [stderr] ≢ '<' rule←grammar← •
[INFO] [stderr] [2:14]→=·'a';
[INFO] [stderr] ≡'='/=|::=|:=?/ rule←grammar← •
[INFO] [stderr] [2:15]→·'a';
[INFO] [stderr] ⚔ rule←grammar← •
[INFO] [stderr] [2:15]→·'a';
[INFO] [stderr] ↙ expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ '|' choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ named←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ named_list←named←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ name←named_list←named←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ word←name←named_list←named←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ /(?!\d)\w+/ word←name←named_list←named←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ word name→named_list→named→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ name named_list→named→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ named_list named→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ named_single←named←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ name←named_single←named←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ name named_single→named→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ named_single named→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ named element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ gather←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ atom←gather←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ token←atom←gather←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ string←token←atom←gather←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ '"' string←token←atom←gather←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≡''' string←token←atom←gather←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:17]→a';
[INFO] [stderr] ↙ multiline_string←string←token←atom←gather←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ /(?ms)'''((?:\\\\|\\.|(?!''').)*?)'''/ multiline_string←string←token←atom←gather←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ /(?ms)"""((?:\\\\|\\.|(?!""").)*?)"""/ multiline_string←string←token←atom←gather←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ multiline_string string→token→atom→gather→term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ singlequoted←string←token←atom←gather←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≡'a'/'((?:[^'\n]|\\'|\\\\)*?)'/ singlequoted←string←token←atom←gather←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ⚔ singlequoted←string←token←atom←gather←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≡ singlequoted→string→token→atom→gather→term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≡ string→token→atom→gather→term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≡ token→atom→gather→term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≡ atom→gather→term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≡ gather→term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ '.{' gather←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ gather term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ join←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ atom←join←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≡ join→term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ '%{' join←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ join term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ left_join←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ atom←left_join←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≡ left_join→term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ '<{' left_join←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ left_join term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ right_join←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ atom←right_join←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≡ right_join→term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ '>{' right_join←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ right_join term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ empty_closure←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ '{}' empty_closure←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ empty_closure term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ positive_closure←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ '{' positive_closure←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ atom←positive_closure←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≡ positive_closure→term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ /(?!\+=)[+]/ positive_closure←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ positive_closure term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ closure←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ '{' closure←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ atom←closure←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≡ closure→term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ '*' closure←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ closure term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ optional←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ '[' optional←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ atom←optional←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≡ optional→term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ '?"' optional←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ '?'' optional←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ '?/' optional←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ '?' optional←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ optional term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ atom←term←element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≡ term→element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≡ element→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≡ sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ ',' sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ /(?m)[ \t]*$/ sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ EOL sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ DEDENT sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ EOL sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ BLANK sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ ';' sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ ＄←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ ＄ ＄→sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≢ ENDRULE sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ element←sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≡ sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ /(?m)[ \t]*$/ sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ EOL sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ DEDENT sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ EOL sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ BLANK sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≡';' sequence←option←choice←expre←rule←grammar← •
[INFO] [stderr] [2:20]→
[INFO] [stderr] ≡ sequence→option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:20]→
[INFO] [stderr] ≡ option→choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≡ choice→expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ '|' choice←expre←rule←grammar← •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≢ choice expre→rule→grammar→ •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ↙ sequence←expre←rule←grammar← •
[INFO] [stderr] [2:16]→'a';
[INFO] [stderr] ≡ expre→rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≡ rule→grammar→ •
[INFO] [stderr] [2:19]→;
[INFO] [stderr] ≡ rule→grammar→ •
[INFO] [stderr] [2:20]→
[INFO] [stderr] ⚔ rule←grammar← •
[INFO] [stderr] [2:20]→
[INFO] [stderr] ≡ grammar→ •
[INFO] [stderr] [2:20]→
[INFO] [stderr] ↙ rule←grammar← •
[INFO] [stderr] [3:8]→
[INFO] [stderr] ↙ decorator←rule←grammar← •
[INFO] [stderr] [3:8]→
[INFO] [stderr] ≢ '@' decorator←rule←grammar← •
[INFO] [stderr] [3:8]→
[INFO] [stderr] ≢ decorator rule→grammar→ •
[INFO] [stderr] [3:8]→
[INFO] [stderr] ↙ name←rule←grammar← •
[INFO] [stderr] [3:8]→
[INFO] [stderr] ↙ word←name←rule←grammar← •
[INFO] [stderr] [3:8]→
[INFO] [stderr] ≢ /(?!\d)\w+/ word←name←rule←grammar← •
[INFO] [stderr] [3:8]→
[INFO] [stderr] ≢ word name→rule→grammar→ •
[INFO] [stderr] [3:8]→
[INFO] [stderr] ≢ name rule→grammar→ •
[INFO] [stderr] [3:8]→
[INFO] [stderr] ≢ rule grammar→ •
[INFO] [stderr] [3:8]→
[INFO] [stderr] ↙ keyword←grammar← •
[INFO] [stderr] [3:8]→
[INFO] [stderr] ≢ '@@keyword' keyword←grammar← •
[INFO] [stderr] [3:8]→
[INFO] [stderr] ≢ keyword grammar→ •
[INFO] [stderr] [3:8]→
[INFO] [stderr] ↙ ＄←grammar← •
[INFO] [stderr] [2:20]→
[INFO] [stderr] ≡ ＄→grammar→ •
[INFO] [stderr] [3:8]→
[INFO] [stderr] ≡  •
[INFO] [stderr] [3:8]→
[INFO] [stdout] test tools::rails::tests::test_simple_grammar ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 178 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.66s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tiexiu-20959a21797f0277)
[INFO] [stderr]      Running tests/alerts_test.rs (/opt/rustwide/target/debug/deps/alerts_test-b904a81d9a811e82)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_alert_interpolation ... ignored, TODO: interpolation not yet implemented
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/api_test.rs (/opt/rustwide/target/debug/deps/api_test-d96411098faa4cd5)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_parse_to_json ... ok
[INFO] [stdout] test test_parse ... ok
[INFO] [stderr]      Running tests/ast_test.rs (/opt/rustwide/target/debug/deps/ast_test-fe891b4099feaf9d)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.76s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stderr]      Running tests/basic_grammar_test.rs (/opt/rustwide/target/debug/deps/basic_grammar_test-31ce2423170d004e)
[INFO] [stdout] test ast ... ok
[INFO] [stdout] test test_ast_pickling ... ok
[INFO] [stdout] test test_tree_text ... ok
[INFO] [stdout] test test_tree_list ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test simple_grammar ... ok
[INFO] [stdout] test empty_input ... ok
[INFO] [stdout] test rule_references ... ok
[INFO] [stdout] test multiple_rules ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.95s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bench_parse_test.rs (/opt/rustwide/target/debug/deps/bench_parse_test-a052bf9f3fa6a201)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_bench_compile_calc_grammar ... ok
[INFO] [stdout] test test_bench_parse_arithmetic_expression ... ok
[INFO] [stdout] test test_bench_parse_complex_expression ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.34s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bootstrap_test.rs (/opt/rustwide/target/debug/deps/bootstrap_test-8a44169ed36e2d8c)
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test parse_expressions::closure ... ok
[INFO] [stdout] test compilation::compiled_grammar_parses_input ... ok
[INFO] [stdout] test parse_constraints::negative_lookahead ... ok
[INFO] [stdout] test parse_constraints::lookahead ... ok
[INFO] [stdout] test parse_constraints::cut ... ok
[INFO] [stdout] test parse_expressions::choice ... ok
[INFO] [stdout] test integration::complex_grammar ... ok
[INFO] [stdout] test parse_expressions::token ... ok
[INFO] [stdout] test parse_expressions::pattern ... ok
[INFO] [stdout] test parse_expressions::group ... ok
[INFO] [stdout] test parse_expressions::optional ... ok
[INFO] [stdout] test parse_expressions::sequence ... ok
[INFO] [stdout] test parse_expressions::positive_closure ... ok
[INFO] [stdout] test parse_grammar::directive ... ok
[INFO] [stdout] test parse_naming::rule_call ... ok
[INFO] [stdout] test parse_grammar::multiple_rules ... ok
[INFO] [stdout] test parse_naming::named ... ok
[INFO] [stdout] test parse_naming::rule_include ... ok
[INFO] [stdout] test parse_naming::rule_with_params ... ok
[INFO] [stdout] test parse_grammar::simple_grammar ... ok
[INFO] [stdout] test parse_special::constant ... ok
[INFO] [stdout] test parse_special::eof ... ok
[INFO] [stdout] test parse_special::dot ... ok
[INFO] [stdout] test parse_special::gather ... ok
[INFO] [stdout] test parse_special::join ... ok
[INFO] [stdout] test parse_special::skip_group ... ok
[INFO] [stdout] test parse_special::void ... ok
[INFO] [stdout] test parse_special::test_alert ... ok
[INFO] [stdout] test round_trips::pretty_print_roundtrip ... ok
[INFO] [stderr]      Running tests/complex_grammars_test.rs (/opt/rustwide/target/debug/deps/complex_grammars_test-3bda43467f50f2ee)
[INFO] [stdout] test integration::tatsu_own_grammar ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 18.41s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test lisp_like_grammar ... ok
[INFO] [stdout] test calculator_grammar ... ok
[INFO] [stdout] test json_like_grammar ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.20s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/constants_test.rs (/opt/rustwide/target/debug/deps/constants_test-8a2d8491e4e9a1aa)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_constant_interpolation ... ignored, constant interpolation not yet implemented
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/constraints_test.rs (/opt/rustwide/target/debug/deps/constraints_test-924a562d76e9e80c)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test positive_lookahead ... ok
[INFO] [stdout] test cut ... ok
[INFO] [stdout] test negative_lookahead ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.75s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/directive_test.rs (/opt/rustwide/target/debug/deps/directive_test-1fa08c995de9e8d4)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_whitespace_directive ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.56s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/directives_test.rs (/opt/rustwide/target/debug/deps/directives_test-3cd6c75068698032)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test default_whitespace ... ignored, TieXiu has no default whitespace like TatSu
[INFO] [stdout] test left_recursion_directive ... ok
[INFO] [stdout] test whitespace_directive ... ok
[INFO] [stdout] test grammar_directive ... ok
[INFO] [stdout] test whitespace_none_directive ... ok
[INFO] [stdout] test nameguard_directive ... ok
[INFO] [stdout] test parseinfo_directive ... ok
[INFO] [stdout] test comments_directive ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.94s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ebnf_test.rs (/opt/rustwide/target/debug/deps/ebnf_test-59fa9b3bbe63aa71)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_ebnf_parsing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.48s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/eol_test.rs (/opt/rustwide/target/debug/deps/eol_test-1f3260c75a66d7fe)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test test_eol_followed_by_non_linebreak ... ok
[INFO] [stdout] test test_eol_with_comments ... ok
[INFO] [stdout] test test_eol_followed_by_non_whitespace ... ok
[INFO] [stdout] test test_basic_eol ... ok
[INFO] [stdout] test test_eol_in_tatsu_ebnf_endrule ... ok
[INFO] [stdout] test test_eol_no_whitespace_before_linebreak ... ok
[INFO] [stdout] test test_eol_at_end_of_text ... ok
[INFO] [stdout] test test_eol_in_closure ... ok
[INFO] [stdout] test test_eol_with_indentation ... ok
[INFO] [stdout] test test_eol_with_mixed_whitespace ... ok
[INFO] [stdout] test test_multiple_eols ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.77s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/error_handling_test.rs (/opt/rustwide/target/debug/deps/error_handling_test-9de12895befdee32)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test invalid_input_fails ... ok
[INFO] [stdout] test empty_input_fails_when_required ... ok
[INFO] [stdout] test partial_match_fails ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.83s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/error_test.rs (/opt/rustwide/target/debug/deps/error_test-ac512ce8e5438f6f)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_error_exists ... ok
[INFO] [stdout] test test_missing_rule ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/firstfollow_test.rs (/opt/rustwide/target/debug/deps/firstfollow_test-4de7e3cce2e8083f)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_firstfollow ... ignored, firstfollow tests require rule internals
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/fixtures_test.rs (/opt/rustwide/target/debug/deps/fixtures_test-6882d1e8bad5a03f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/grammar_structure_test.rs (/opt/rustwide/target/debug/deps/grammar_structure_test-90a39958eefff379)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test pretty_print ... ok
[INFO] [stdout] test first_rule_is_default ... ok
[INFO] [stdout] test grammar_has_rules ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.76s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/input_positions_test.rs (/opt/rustwide/target/debug/deps/input_positions_test-8add0628af949929)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test basic_position_tracking ... ok
[INFO] [stdout] test multiline_input ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.57s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/join_test.rs (/opt/rustwide/target/debug/deps/join_test-957cbe7b0755c9bb)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_positive_join ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.38s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/json_crate_test.rs (/opt/rustwide/target/debug/deps/json_crate_test-a36a540effd19489)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_json_crate_parse_grammar ... ok
[INFO] [stdout] test test_json_crate_mutate_and_serialize ... ok
[INFO] [stdout] test test_json_crate_serialize_then_parse ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/json_value_import_test.rs (/opt/rustwide/target/debug/deps/json_value_import_test-0dc8c2b0fb4188e2)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test test_grammar_from_serde_value ... ok
[INFO] [stdout] test test_grammar_from_json_error_reporting ... ok
[INFO] [stdout] test test_grammar_from_json_with_rule_include_exp ... ok
[INFO] [stdout] test test_grammar_from_json ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/keyword_test.rs (/opt/rustwide/target/debug/deps/keyword_test-43de3873b5c0699a)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/left_recursion_test.rs (/opt/rustwide/target/debug/deps/left_recursion_test-d7d7f509e771aadc)
[INFO] [stdout] test test_keywords_in_rule_names ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.38s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_direct_left_recursion ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.56s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/lookahead_test.rs (/opt/rustwide/target/debug/deps/lookahead_test-6512bc086a2cf9f2)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/misc_test.rs (/opt/rustwide/target/debug/deps/misc_test-82675e412a046354)
[INFO] [stdout] test test_skip_to ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_mapping ... ok
[INFO] [stderr]      Running tests/model_test.rs (/opt/rustwide/target/debug/deps/model_test-4019c4b2bcfd6e6a)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_node_kwargs ... ok
[INFO] [stdout] test test_children ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.58s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/naming_test.rs (/opt/rustwide/target/debug/deps/naming_test-c60be7aad81dfc8e)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test named_capture ... ok
[INFO] [stdout] test override_singleton ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.55s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/parameter_test.rs (/opt/rustwide/target/debug/deps/parameter_test-169e7e0627562e88)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_numbers_and_unicode ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.63s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/parsing_test.rs (/opt/rustwide/target/debug/deps/parsing_test-3fc1b0e45a465798)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test test_include ... ignored, @@include will not be implemented
[INFO] [stdout] test test_multiple_include ... ignored, @@include will not be implemented
[INFO] [stdout] test test_parseinfo_directive ... ok
[INFO] [stdout] test test_escape_sequences ... ok
[INFO] [stdout] test test_node_parseinfo ... ok
[INFO] [stdout] test test_parseinfo_false_directive ... ok
[INFO] [stdout] test test_start ... ok
[INFO] [stdout] test test_cut_scope ... ok
[INFO] [stdout] test test_skip_whitespace ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 2.67s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/pattern_test.rs (/opt/rustwide/target/debug/deps/pattern_test-3ad3fe203369ff6c)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_patterns_with_newlines ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.46s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/patterns_test.rs (/opt/rustwide/target/debug/deps/patterns_test-38e85ef9ee2a133a)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test pattern_with_letters ... ok
[INFO] [stdout] test simple_pattern ... ok
[INFO] [stdout] test pattern_with_anchors ... ok
[INFO] [stdout] test pattern_case_insensitive ... ok
[INFO] [stdout] test regex_character_classes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.19s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/pretty_print_test.rs (/opt/rustwide/target/debug/deps/pretty_print_test-80a60197c1daf043)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test pretty_contains_rules ... ok
[INFO] [stdout] test pretty_contains_grammar_name ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.56s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/pyre_test.rs (/opt/rustwide/target/debug/deps/pyre_test-9e0af49e31377547)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test test_match_zero_width_lookahead_at_start ... ok
[INFO] [stdout] test test_multiline_dollar_with_anchor ... ok
[INFO] [stdout] test test_search_and_positions ... ok
[INFO] [stdout] test test_findall_behavior ... ok
[INFO] [stdout] test test_split_and_subn ... ok
[INFO] [stdout] test test_match_endrule_blankline_branch ... ok
[INFO] [stdout] test test_tatsu_eol_patterns ... ok
[INFO] [stderr]      Running tests/regexpp_test.rs (/opt/rustwide/target/debug/deps/regexpp_test-5f87c72a6d1d34ad)
[INFO] [stdout] test test_match_endrule_crlf_branch ... ok
[INFO] [stdout] test test_match_endrule_unindented_branch ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_regexpp_with_tab ... ok
[INFO] [stdout] test test_regexpp_with_backslash ... ok
[INFO] [stderr]      Running tests/round_trips_test.rs (/opt/rustwide/target/debug/deps/round_trips_test-9e82854fb8225a23)
[INFO] [stdout] test test_regexpp_simple ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test grammar_to_json_round_trip ... ok
[INFO] [stdout] test pretty_print_round_trip ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/safe_name_test.rs (/opt/rustwide/target/debug/deps/safe_name_test-60050d61ea647576)
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.91s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_safe_name_unicode_cases ... ok
[INFO] [stdout] test test_to_snake_case ... ok
[INFO] [stderr]      Running tests/semantics_test.rs (/opt/rustwide/target/debug/deps/semantics_test-b19bc0c424d596ea)
[INFO] [stdout] test test_safe_name_valid_cases ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_semantics_not_class ... ignored, semantic actions not implemented
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/special_forms_test.rs (/opt/rustwide/target/debug/deps/special_forms_test-8b1f3973a858276f)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_constant ... ok
[INFO] [stdout] test test_eof ... ok
[INFO] [stdout] test test_dot ... ok
[INFO] [stdout] test test_skip_group ... ok
[INFO] [stdout] test test_group ... ok
[INFO] [stdout] test test_void ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.71s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/syntax_test.rs (/opt/rustwide/target/debug/deps/syntax_test-f0518c2677dfbd59)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test test_based_rule ... ignored, based rules (< syntax) not implemented
[INFO] [stdout] test test_constant ... ignored, constant evaluation is not implemented
[INFO] [stdout] test test_deprecated_comments_override ... ignored, deprecated comments override API not supported
[INFO] [stdout] test test_list_override ... ignored, @+ list override not implemented
[INFO] [stdout] test test_empty_closure ... ok
[INFO] [stdout] test test_new_override ... ok
[INFO] [stdout] test test_group_ast ... ok
[INFO] [stdout] test test_48_rule_override ... ok
[INFO] [stdout] test test_nested_non_capturing_groups ... ok
[INFO] [stdout] test test_any ... ok
[INFO] [stdout] test test_no_default_comments ... ok
[INFO] [stdout] test test_non_capturing_group_failure ... ok
[INFO] [stdout] test test_ast_assignment_start ... ok
[INFO] [stdout] test test_ast_assignment ... ok
[INFO] [stdout] test test_optional_closure ... ok
[INFO] [stdout] test test_non_capturing_group_exclusion ... ok
[INFO] [stdout] test test_parse_hash ... ok
[INFO] [stdout] test test_parse_void ... ok
[INFO] [stdout] test test_optional_sequence ... ok
[INFO] [stdout] test test_rule_include ... ok
[INFO] [stdout] test test_partial_choice ... ok
[INFO] [stdout] test test_partial_options ... ok
[INFO] [stdout] test test_update_ast ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 6.52s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tokens_and_sequences_test.rs (/opt/rustwide/target/debug/deps/tokens_and_sequences_test-62a66dfca98bce6a)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test positive_closure ... ok
[INFO] [stdout] test token_sequence ... ok
[INFO] [stdout] test optional_token ... ok
[INFO] [stdout] test choice_alternatives ... ok
[INFO] [stdout] test closure_tokens ... ok
[INFO] [stderr]    Doc-tests tiexiu
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.26s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/util/finally.rs - util::finally::Finally (line 4) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/util/finally.rs - util::finally::Finally (line 4) stdout ----
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Finally` in this scope
[INFO] [stdout]  --> src/util/finally.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let _guard = Finally(Some(|| {
[INFO] [stdout]   |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/util/finally.rs - util::finally::Finally (line 4)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.57s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.89s; merged doctests compilation took 0.32s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "f671548da2339331cc0c2b4c95339991ed60a7dd6d2d39ed4184774a8309032d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f671548da2339331cc0c2b4c95339991ed60a7dd6d2d39ed4184774a8309032d", kill_on_drop: false }`
[INFO] [stdout] f671548da2339331cc0c2b4c95339991ed60a7dd6d2d39ed4184774a8309032d
